Гибридная вычислительная система

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис

Гибридная вычислительная система — система с гетерогенной аппаратной вычислительной структурой. Комбинация любых вычислительных устройств или блоков, например вычисления с помощью CPU и GPU совместно.[1][2]

История

Обычно основным вычислительным компонентом систем для высокопроизводительных вычислений, включая кластеры, является центральный процессор. Однако, уже начиная с процессоров Intel486DX в составе компьютеров появился такой элемент, как сопроцессор, что можно считать гибридизацией на аппаратном уровне.

В середине 2000-х для вычислительных целей начали использовать графический процессор (GPU).[1]

Основная проблема состоит в том, чтобы найти способы выполнять вычислительные задачи с помощью графического процессора. Осознав спрос на подобные вычисления, компания NVIDIA в 2007 году представила программно-аппаратную платформу CUDA, позволяющую запускать произвольный код на GPU. До появления CUDA, программистам приходилось строить гибридные системы из обычных видеокарт и программировать их, используя сложнейшие графические API.

Компания ATI разработала свои аналоги CUDA для GPGPU применений. Это технологии ATI Stream и Close to Metal.

Ожидалось, что новая архитектура Intel Larrabee будет поддерживать технологии GPGPU. Однако фактически выпущенный в рамках линейки Intel MIC продукт, Xeon Phi поддерживал только вычисления общего назначения (совместим с x86_64), лишившись возможностей графического процессора. Последующие варианты Xeon Phi реализовывались не только в виде карт расширения PCI Express, но и в виде единственного центрального процессора.

Технические особенности

GPU

Высокая вычислительная мощность GPU объясняется особенностями архитектуры. Если современные CPU содержат несколько ядер (на большинстве современных систем от 2 до 8х, 2018 г., на северных может встречаться максимум до 64х), графический процессор изначально создавался как многоядерная структура, в которой количество ядер измеряется сотнями(пример — Nvidia 1070 имеет 1920 ядер). Разница в архитектуре обусловливает и разницу в принципах работы. Если архитектура CPU предполагает последовательную обработку информации, то GPU исторически предназначался для обработки компьютерной графики, поэтому рассчитан на массивно параллельные вычисления.[3]

Каждая из этих двух архитектур имеет свои достоинства. CPU лучше работает с последовательными задачами. При большом объёме обрабатываемой информации очевидное преимущество имеет GPU. Условие только одно — в задаче должен наблюдаться параллелизм.

GPU уже достигли той точки развития, когда многие приложения реального мира могут с легкостью выполняться на них, причем быстрее, чем на многоядерных системах. Будущие вычислительные архитектуры станут гибридными системами с графическими процессорами, состоящими из параллельных ядер и работающими в связке с многоядреными CPU.[4]

Профессор Джек Донгарра
Директор Innovative Computing Laboratory
Университет штата Теннесси

Cell

Процессоры IBM Cell, использовавшиеся в игровых приставках Sony PlayStation 3, содержали два типа ядер: PPE - ядро общего назначения, и массив из 8 SPE сопроцессоров.

Применение в распределенных вычислениях

Программа для GRID-вычислений BOINC поддерживает возможность использования графического процессора для выполнения вычислительных задач.[6]

См. также

Литература

  • Э. Таненбаум, М. ван Стеен. Распределенные системы. Принципы и парадигмы. — СПб.: Питер, 2003. — 877 с. — («Классика computer science»). — ISBN 5-272-00053-6.

Ссылки

Примечания

  1. 1,0 1,1 Гибридные вычислительные системы на основе GPU. Дата обращения: 13 сентября 2011. Архивировано 22 июня 2015 года.
  2. [1] Архивная копия от 5 октября 2011 на Wayback Machine // Bull.com
  3. Гибридные вычислительные системы на основе графических процессоров NVIDIA Tesla Архивная копия от 8 сентября 2011 на Wayback Machine
  4. Вычисления на GPU. Дата обращения: 13 сентября 2011. Архивировано 31 мая 2012 года.
  5. What is GPU Computing? (англ.). Дата обращения: 13 сентября 2011. Архивировано 31 мая 2012 года.
  6. BOINC. Use your GPU for scientific computing. Дата обращения: 13 сентября 2011. Архивировано 2 сентября 2011 года.